]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
power: Use more fine-grained battery levels
authorFlorian Müllner <fmuellner@gnome.org>
Tue, 28 May 2019 17:56:36 +0000 (17:56 +0000)
committerFlorian Müllner <fmuellner@gnome.org>
Fri, 12 Jul 2019 21:24:35 +0000 (23:24 +0200)
Adwaita-icon-theme added new battery icons which represent battery levels
in 10% steps[0]. Use these if they are available, otherwise fall back to
the existing icon names for compatibility with older icon themes.

[0] https://gitlab.gnome.org/GNOME/adwaita-icon-theme/issues/6

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/561

js/ui/status/power.js

index cd1c01d86bd62d167be417e83e4bc98537c2685a..8ffb0c631784dc2f040d39aadd9a577d9736403d 100644 (file)
@@ -107,10 +107,20 @@ var Indicator = class extends PanelMenu.SystemIndicator {
         }
 
         // The icons
-        let icon = this._proxy.IconName;
+        let chargingState = this._proxy.State == UPower.DeviceState.CHARGING
+            ? '-charging' : '';
+        let fillLevel = 10 * Math.floor(this._proxy.Percentage / 10);
+        let icon = this._proxy.State == UPower.DeviceState.FULLY_CHARGED
+            ? 'battery-level-100-charged-symbolic'
+            : `battery-level-${fillLevel}${chargingState}-symbolic`;
+
         this._indicator.icon_name = icon;
         this._item.icon.icon_name = icon;
 
+        let fallbackIcon = this._proxy.IconName;
+        this._indicator.fallback_icon_name = fallbackIcon;
+        this._item.icon.fallback_icon_name = fallbackIcon;
+
         // The icon label
         let label;
         if (this._proxy.State == UPower.DeviceState.FULLY_CHARGED)